home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 June
/
EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso
/
earcd
/
comm2
/
mmuuedcd.lha
/
REXX
/
MM_UUEnDecode.rexx
Wrap
OS/2 REXX Batch file
|
1996-04-26
|
4KB
|
133 lines
/*
** $VER: MM_UUEnDecode 1.00 (10.04.96)
**
** Written by Paolo Carotenuto
**
*/
OPTIONS RESULTS
DROP MM.
PARSE ARG MM.Area MM.NumMsg MM.Mode
MM.UUDecode='C:UUOut'
MM.UUEncode='C:UUIn'
MM.FSCode='C:FSCode'
MM.DestDir='MM:UUDecode/'
MM.PrgName='MM_UUEnDecode v1.00'
MM.Copyright='(C) 1994-96 by Paolo Carotenuto'
MM.LogLevel=2
IF MM.Area='?'|MM.Area='' THEN;DO
SAY ''
SAY MM.PrgName
SAY ''
SAY 'Usage:'
SAY 'Rx MM_UUEnDecode <Tagname> <MSG #> UUDecode'
SAY ''
SAY 'Rx MM_UUEnDecode <Tagname> <MSG #> UUEncode'
SAY ''
SAY 'Example:'
SAY 'RX MM_UUEnDecode Amiga.ITA 522 UUDecode'
SAY ''
EXIT
END
IF ~SHOW('l',"rexxsupport.library") THEN;DO
IF ~ADDLIB("rexxsupport.library",0,-30,0) THEN;DO
SAY "Could not open rexxsupport.library"
EXIT 10
END
END
ADDRESS 'MAILMANAGER'
IF UPPER(MM.Mode)='UUENCODE' THEN;DO
MM_GetCfgPaths MM.Path
MM.Editor=Trasforma(MM.Path.Editor)
MM.Type.0='UUEncode (UUOut)'
MM.Type.1='FSCode'
MM.Type.Count=2
MM_SingleSelReq MM.Type MM.ModeResp '"'MM.PrgName'"' STR
IF MM.ModeResp.Count=0 THEN EXIT
MM.FileName=MM.DestDir
MM_FileReq 'MM.FileName'
IF MM.ModeResp.0=MM.Type.0 THEN MM.Prg=MM.UUEncode '>NIL: ' MM.FileName ' T:MM_UUEnDecode.Tmp'
ELSE MM.Prg=MM.FSCode '>NIL: ' MM.FileName ' TO T:MM_UUEnDecode.Tmp E'
IF Rc=0 THEN;DO
MM_GetSysop 'MM.Sysop'
ADDRESS COMMAND MM.Prg
ADDRESS COMMAND MM.Editor
MM_ReadMsg MM.Area MM.NumMsg MM.MSG
Messaggio.From=MM.Sysop
Messaggio.To=MM.Msg.From
Messaggio.ToAddr=MM.msg.FromAddr
Messaggio.Subj=MM.Msg.Subj
Messaggio.File='T:MM_UUEnDecode.Tmp'
Messaggio.Tear=MM.PrgName
MM_StringReq 'TO:' 'MM.Msg.From'
IF Rc=0 THEN;DO
IF MM.Msg.From ~=Messaggio.To THEN;DO
Messaggio.To=MM.Msg.From
Messaggio.Subj='Message Generated by MM_UUEnDecode'
MM_GetAreaInfo MM.Area Area
IF Area.Type='MAIL' THEN;DO
MM_StringReq 'Address:' 'MM.Address'
Messaggio.ToAddr=MM.Address
END
END
MM_WriteMsg MM.Area Messaggio
MM_DeleteFile 'T:MM_UUEnDecode.Tmp'
END
END
EXIT
END
MM_ReadMsg MM.Area MM.NumMsg MM.Msg
IF RC ~=0 THEN;DO
CALL Requester(MM.PrgName,'Sorry, Not Fount Message #'MM.NumMsg' in area 'MM.Area,_Ok)
EXIT
END
MM_WriteStem 'T:MM_UUEnDecode.Tmp' MM.Msg.Text
MM_SearchInStem MM.Msg.Text MM.Result '!start#?' STR
IF MM.Result.Count>0 THEN;DO
MM.Name=SUBWORD(MM.Result.0,2)
Rc=Requester(MM.PrgName,'Found a FSCode File - Original FileName : 'MM.Name,"_Ok|Cancel")
IF Rc=1 THEN;DO
ADDRESS COMMAND MM.FSCode' >NIL: T:MM_UUEnDecode.Tmp TO T:'||MM.Name
MM_MoveFile 'T:'MM.Name MM.DestDir||MM.Name
Testo='From Area ['UPPER(MM.Area)'] - Message Number ['MM.NumMsg']'
MM_SetFileNote MM.DestDir||MM.Name 'Testo'
CALL Requester(MM.PrgName,'DONE! Check 'MM.DestDir' directory for the file: 'MM.Name,_Ok)
END
MM_DeleteFile 'T:MM_UUEnDecode.Tmp'
EXIT
END
CALL MakeDir('T:UUDecode')
ADDRESS COMMAND MM.UUDecode' >NIL: T:MM_UUEnDecode.Tmp T:UUDecode'
MM.Name=SHOWDIR('T:UUDecode','F',' ')
IF MM.Name ~='' THEN;DO
Rc=Requester(MM.PrgName,'Found a UUEnCode File - Original FileName : 'MM.Name,"_Ok|Cancel")
IF Rc=1 THEN;DO
MM_MoveFile 'T:UUDecode/'MM.Name MM.DestDir||MM.Name
MM_DeleteFile 'T:MM_UUEnDecode.Tmp'
MM_DeleteFile 'T:UUDecode'
Testo='From Area ['UPPER(MM.Area)'] - Message Number ['MM.NumMsg']'
MM_SetFileNote MM.DestDir||MM.Name 'Testo'
CALL Requester(MM.PrgName,'DONE! Check 'MM.DestDir' directory for the file: 'MM.Name,_Ok)
END
ELSE;DO
MM_DeleteFile 'T:MM_UUEnDecode.Tmp'
MM_DeleteFile 'T:UUDecode/'MM.Name
MM_DeleteFile 'T:UUDecode'
END
EXIT
END
MM_DeleteFile 'T:UUDecode'
CALL Requester(MM.PrgName,'Sorry, Messagge #'MM.NumMsg' in Area 'MM.Area' Does not contain UUEncode file !!',_Ok)
EXIT
Replace:PROCEDURE
PARSE ARG String,New,Old
DO WHILE INDEX(String,Old) ~=0;INTERPRET "PARSE VAR String l '"Old"' r";String=l||New||r;END
RETURN String
Trasforma:PROCEDURE EXPOSE MM.
PARSE ARG String
IF INDEX(String,'%')=0 THEN RETURN String
String=Replace(String,'T:MM_UUEnDecode.Tmp','%s')
RETURN String
Requester:PROCEDURE EXPOSE MM.
PARSE ARG Titolo,Testo,GadGets
MM_Requester '"'Titolo'"' 'Testo' 'GadGets'
RETURN rc